package cn.rwklyd.BookKeeping.service;

import cn.rwklyd.BookKeeping.pojo.Result;

import java.util.Map;

public interface TokenService {
    
    /**
     * 创建访问令牌和刷新令牌
     * @param userId 用户ID
     * @param username 用户名
     * @param permissionsJson 权限JSON字符串
     * @return 包含访问令牌的Map
     */
    Map<String, String> createTokens(Integer userId, String username, String permissionsJson);
    
    /**
     * 验证并刷新访问令牌
     * @param accessToken 过期的访问令牌
     * @return 处理结果，包含新的访问令牌
     */
    Result<Map<String, String>> refreshAccessToken(String accessToken);
    
    /**
     * 使刷新令牌失效（登出时调用）
     * @param userId 用户ID
     * @return 处理结果
     */
    Result<String> invalidateRefreshToken(Integer userId);
} 